package com.ruoyi.system.mapper;

import java.util.List;
import com.ruoyi.common.core.domain.entity.SealInfo;
import org.apache.ibatis.annotations.Param;

/**
 * 印章列表Mapper接口
 *
 * @author ess
 * @date 2021-10-25
 */
public interface SealInfoMapper
{
    /**
     * 查询印章列表
     *
     * @param sealInfoId 印章列表主键
     * @return 印章列表
     */
    public SealInfo selectSealInfoBySealInfoId(String sealInfoId);

    /**
     * 查询印章列表列表
     *
     * @param sealInfo 印章列表
     * @return 印章列表集合
     */
    public List<SealInfo> selectSealInfoList(SealInfo sealInfo);

    /**
     * 新增印章列表
     *
     * @param sealInfo 印章列表
     * @return 结果
     */
    public int insertSealInfo(SealInfo sealInfo);

    /**
     * 修改印章列表
     *
     * @param sealInfo 印章列表
     * @return 结果
     */
    public int updateSealInfo(SealInfo sealInfo);

    /**
     * 删除印章列表
     *
     * @param sealInfoId 印章列表主键
     * @return 结果
     */
    public int deleteSealInfoBySealInfoId(String sealInfoId);

    /**
     * 批量删除印章列表
     *
     * @param sealInfoIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteSealInfoBySealInfoIds(String[] sealInfoIds);

    SealInfo selectSealListByUnitIdAndType(@Param("unitId")Long unitId, @Param("sealType")String sealType);

    SealInfo selectSealByPersonId(String person_id);

    /**
     * 印章名称查找印章
     * @param sealName
     * @return
     */
    List<SealInfo> selectSealBySealName(@Param("sealName") String sealName);

    /**
     * 查询所有手签 状态为0
     * @return
     */
    List<SealInfo> selectAllSignData();

    List<SealInfo> selectSealInfoListScreenHw(SealInfo eSealInfo);

    List<SealInfo> selectSealInfoListScreenSeal(SealInfo eSealInfo);

    /**
     * 查询印章列表
     * @param eSealInfo
     * @return
     */
    List<SealInfo> selectSealInfoListSealJur(SealInfo eSealInfo);

    /**
     * 查询手签列表
     * @param eSealInfo
     * @return
     */
    List<SealInfo> selectSealInfoListSignJur(SealInfo eSealInfo);

    /**
     * 根据人员id查找印章infoid
     * @param sealPersonId
     * @return
     */
    String selectSealInfoIdBySealPersonId(@Param("sealPersonId") String sealPersonId);

    /**
     * 根据单位id和印章类型查找可用的印章进行授权
     * @param sealTypeId
     * @param jurPLUnitId
     * @return
     */
    List<String> selectSealIdsBySealTypeAndUnitId(@Param("sealTypeId") String sealTypeId,@Param("jurPLUnitId") String jurPLUnitId);
}
